import Icon, { HomeOutlined } from '@ant-design/icons';
import type { CustomIconComponentProps } from '@ant-design/icons/lib/components/Icon';
import React from 'react';

const AddressSvg = () => (
  <svg width="20" height="20" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_info_location">
      <path
        id="Union"
        fill-rule="evenodd"
        clip-rule="evenodd"
        d="M25.625 12.2554C25.625 18.1681 17.4133 26.9159 15.4282 28.9442C15.1905 29.1871 14.8095 29.1871 14.5718 28.9442C12.5867 26.9159 4.375 18.1681 4.375 12.2554C4.375 6.1773 9.132 1.25 15 1.25C20.868 1.25 25.625 6.1773 25.625 12.2554ZM23.125 12.2554C23.125 13.2019 22.7818 14.4673 22.0534 15.9981C21.3404 17.4968 20.3442 19.0729 19.2457 20.5907C17.7684 22.6321 16.1755 24.4736 15 25.7577C13.8245 24.4736 12.2316 22.6321 10.7543 20.5907C9.65581 19.0729 8.65964 17.4968 7.9466 15.9981C7.21825 14.4673 6.875 13.2019 6.875 12.2554C6.875 7.47439 10.5949 3.75 15 3.75C19.4051 3.75 23.125 7.47439 23.125 12.2554ZM16.875 11.875C16.875 12.9105 16.0355 13.75 15 13.75C13.9645 13.75 13.125 12.9105 13.125 11.875C13.125 10.8395 13.9645 10 15 10C16.0355 10 16.875 10.8395 16.875 11.875ZM19.375 11.875C19.375 14.2913 17.4163 16.25 15 16.25C12.5837 16.25 10.625 14.2913 10.625 11.875C10.625 9.45875 12.5837 7.5 15 7.5C17.4163 7.5 19.375 9.45875 19.375 11.875Z"
        fill="#083847"
      />
    </g>
  </svg>
);
const AddressIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={AddressSvg} {...props} />
);

const LocationSvg = () => (
  <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_location">
      <rect id="Rectangle 11" opacity="0.1" width="30" height="30" rx="15" fill="#3083FF" />
      <g id="icon/map_pin_fill">
        <path
          id="Vector"
          fill-rule="evenodd"
          clip-rule="evenodd"
          d="M15.2284 22.437C16.2871 21.3552 20.6667 16.6897 20.6667 13.5363C20.6667 10.2946 18.1296 7.66669 15 7.66669C11.8704 7.66669 9.33337 10.2946 9.33337 13.5363C9.33337 16.6897 13.7129 21.3552 14.7717 22.437C14.8984 22.5665 15.1016 22.5665 15.2284 22.437ZM15 15.6667C16.2887 15.6667 17.3334 14.622 17.3334 13.3334C17.3334 12.0447 16.2887 11 15 11C13.7114 11 12.6667 12.0447 12.6667 13.3334C12.6667 14.622 13.7114 15.6667 15 15.6667Z"
          fill="#3083FF"
        />
      </g>
    </g>
  </svg>
);
const LocationIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={LocationSvg} {...props} />
);

const PhoneSvg = () => (
  <svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_phone">
      <rect id="Rectangle 11" opacity="0.1" width="30" height="30" rx="15" fill="#F7430B" />
      <g id="icon/textarea_line">
        <path
          id="Vector"
          d="M18.2476 17.2082L16.2937 18.5509C14.2461 17.5383 12.5688 15.8833 11.5249 13.8535L13.0015 11.855L12.0156 9H9C9 12.2074 10.2491 15.2186 12.5152 17.4848C14.7814 19.7509 17.7926 21 21 21V18.0424L18.2476 17.2082Z"
          fill="#F7430B"
        />
      </g>
    </g>
  </svg>
);

const PhoneIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={PhoneSvg} {...props} />
);

const UnsetSvg = () => (
  <svg width="20" height="20" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_collect">
      <path
        id="Union"
        fill-rule="evenodd"
        clip-rule="evenodd"
        d="M15.5611 1.76843C15.3324 1.30221 14.6677 1.30221 14.4389 1.76843L14.0831 2.49362L10.8479 9.08644C10.6664 9.45637 10.3142 9.71306 9.9065 9.77262L1.87234 10.9468C1.36081 11.0216 1.15603 11.6496 1.52518 12.0115L2.11199 12.5868L7.34544 17.7175C7.63806 18.0043 7.7715 18.4163 7.70256 18.8203L6.32906 26.8744C6.24193 27.3855 6.779 27.7743 7.23731 27.532L7.95615 27.1519L14.4157 23.7364C14.7813 23.5431 15.2188 23.5431 15.5844 23.7364L22.0439 27.1519L22.7627 27.532C23.2211 27.7743 23.7582 27.3855 23.671 26.8744L23.5343 26.0728L22.2975 18.8203C22.2286 18.4163 22.3621 18.0043 22.6546 17.7175L27.8881 12.5868L28.4749 12.0115C28.8441 11.6496 28.6393 11.0216 28.1277 10.9468L20.0936 9.77262C19.6859 9.71306 19.3337 9.45637 19.1522 9.08644L15.9171 2.49389L15.5611 1.76843ZM15 6.29998L13.0924 10.1876C13.0923 10.1877 13.0924 10.1876 13.0924 10.1876C12.5478 11.2975 11.4911 12.0676 10.268 12.2463C10.268 12.2464 10.2681 12.2463 10.268 12.2463L5.97572 12.8737L9.09538 15.9321C9.9733 16.7926 10.3737 18.0287 10.167 19.2405C10.167 19.2406 10.167 19.2404 10.167 19.2405L9.43329 23.5429L13.2472 21.5263C14.3437 20.9466 15.6562 20.9465 16.7528 21.5262L20.5668 23.5429L19.8331 19.2405C19.6265 18.0289 20.0267 16.7928 20.9045 15.9323C20.9045 15.9323 20.9045 15.9323 20.9045 15.9323L24.0244 12.8737L19.7322 12.2464C19.7321 12.2464 19.7322 12.2464 19.7322 12.2464C18.5091 12.0676 17.4524 11.2976 16.9078 10.1878C16.9078 10.1877 16.9079 10.1878 16.9078 10.1878L15 6.29998Z"
        fill="#6A7A80"
      />
    </g>
  </svg>
);

const UnsetIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UnsetSvg} {...props} />
);

const ShareSvg = () => (
  <svg width="20" height="20" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_share">
      <path
        id="Union"
        fill-rule="evenodd"
        clip-rule="evenodd"
        d="M6.25 23.75V6.25H12.5V3.75H5C4.30964 3.75 3.75 4.30964 3.75 5V25C3.75 25.6904 4.30964 26.25 5 26.25H25C25.6904 26.25 26.25 25.6904 26.25 25V17.5H23.75V23.75H6.25ZM17.5 3.75H25C25.6904 3.75 26.25 4.30964 26.25 5V12.5H23.75V8.01775L15.8839 15.8838L14.1161 14.1161L21.9822 6.25H17.5V3.75Z"
        fill="#6A7A80"
      />
    </g>
  </svg>
);

const ShareIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={ShareSvg} {...props} />
);

const MsgSvg = () => (
  <svg width="20" height="20" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
    <g id="details_share">
      <path
        id="Union"
        fill-rule="evenodd"
        clip-rule="evenodd"
        d="M6.25 23.75V6.25H12.5V3.75H5C4.30964 3.75 3.75 4.30964 3.75 5V25C3.75 25.6904 4.30964 26.25 5 26.25H25C25.6904 26.25 26.25 25.6904 26.25 25V17.5H23.75V23.75H6.25ZM17.5 3.75H25C25.6904 3.75 26.25 4.30964 26.25 5V12.5H23.75V8.01775L15.8839 15.8838L14.1161 14.1161L21.9822 6.25H17.5V3.75Z"
        fill="#6A7A80"
      />
    </g>
  </svg>
);

const MsgIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MsgSvg} {...props} />
);

export { AddressIcon, LocationIcon, PhoneIcon, UnsetIcon, ShareIcon, MsgIcon };
